home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
T-COMAL Today
/
(k)ta.d64
/
sound.proc
< prev
next >
Wrap
Text File
|
2007-02-28
|
2KB
|
90 lines
9000 //
9010 PROC SETFREQUENCY(V,F)
9020 POKE SID+(V-1)*7,F MOD 256
9030 POKE SID+(V-1)*7+1,F DIV 256
9040 ENDPROC SETFREQUENCY
9050 //
9060 PROC PULSE(V,P)
9070 POKE SID+(V-1)*7+2,P MOD 256
9080 POKE SID+(V-1)*7+3,P DIV 256
9090 ENDPROC PULSE
9100 //
9110 PROC ADSR(V,A,D,S,R)
9120 POKE SID+(V-1)*7+5,A*16+D
9130 POKE SID+(V-1)*7+6,S*16+R
9140 ENDPROC ADSR
9150 //
9160 PROC GATE(V,ON'OFF) CLOSED
9170 TEMP:=INT(PEEK(1020+V)/2)*2
9180 IF ON'OFF THEN
9190 TEMP:+1
9200 ENDIF
9210 POKE 1020+V,TEMP
9220 POKE SID+(V-1)*7+4,TEMP
9230 ENDPROC GATE
9240 //
9250 PROC SYNC(V,S) CLOSED
9260 TEMP:=PEEK(1020+V)
9270 TEMP:=(TEMP DIV 4)*4+(TEMP MOD 2)
9280 TEMP:+S*2
9290 POKE 1020+V,TEMP
9300 POKE SID+(V-1)*7+4,TEMP
9310 ENDPROC SYNC
9320 //
9330 PROC RINGMOD(V,R) CLOSED
9340 TEMP:=PEEK(1020+V)
9350 TEMP:=(TEMP DIV 8)*8+(TEMP MOD 4)
9360 TEMP:+R*4
9370 POKE 1020+V,TEMP
9380 POKE SID+(V-1)*7+4,TEMP
9390 ENDPROC RINGMOD
9400 //
9410 PROC SOUNDTYPE(V,T) CLOSED
9420 TEMP:=PEEK(1020+V)
9430 TEMP:=TEMP MOD 16
9440 IF T>0 THEN
9450 TEMP:+(2^(T-1))*16
9460 ENDIF
9470 POKE 1020+V,TEMP
9480 POKE SID+(V-1)*7+4,TEMP
9490 ENDPROC SOUNDTYPE
9500 //
9510 PROC FILTERTYPE(L,B,H,V3) CLOSED
9520 TEMP:=PEEK(1019) MOD 16
9530 TEMP:+V3*128+H*64+B*32+L*16
9540 POKE 1019,TEMP
9550 POKE SID+24,TEMP
9560 ENDPROC FILTERTYPE
9570 //
9580 PROC FILTERFREQ(F)
9590 POKE SID+21,F MOD 8
9600 POKE SID+22,F DIV 8
9610 ENDPROC FILTERFREQ
9620 //
9630 PROC FILTER(V1,V2,V3,E) CLOSED
9640 TEMP:=PEEK(1018)
9650 TEMP:=(TEMP DIV 16)*16
9660 TEMP:+V1+V2*2+V3*4+E*8
9670 POKE SID+23,TEMP
9680 POKE 1018,TEMP
9690 ENDPROC FILTER
9700 //
9710 PROC RESONANCE(R) CLOSED
9720 TEMP:=PEEK(1018)
9730 TEMP:=TEMP MOD 16
9740 TEMP:+R*16
9750 POKE SID+23,TEMP
9760 POKE 1018,TEMP
9770 ENDPROC RESONANCE
9780 //
9790 PROC VOLUME(V) CLOSED
9800 TEMP:=PEEK(1019)
9810 TEMP:=(TEMP DIV 16)*16+V
9820 POKE SID+24,TEMP
9830 POKE 1019,TEMP
9840 ENDPROC VOLUME
9850 //
9860 FUNC SID
9870 RETURN 54272
9880 ENDFUNC SID